e6da0cfff1e2f6822de31b81dba0c91163d52ad1,src/org/jgroups/JChannelFactory.java,JChannelFactory,close,#MuxChannel#,350
Before Change
Multiplexer mux=entry.multiplexer;
if(mux != null) {
all_closed=mux.close(); // closes JChannel if all MuxChannels are in closed state
mux.unregister(ch.getId());
}
}
if(all_closed) {
After Change
synchronized(entry) {
Multiplexer mux=entry.multiplexer;
if(mux != null) {
Address addr=entry.channel.getLocalAddress();
try {
mux.sendServiceDownMessage(ch.getId(), addr);
}
catch(Exception e) {
if(log.isErrorEnabled())
log.error("failed sending SERVICE_DOWN message", e);
}
all_closed=mux.close(); // closes JChannel if all MuxChannels are in closed state
//mux.unregister(ch.getId());